package com.codemart.lanze.config;

import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * RestTemplate客户端配置
 */
@Configuration
public class RestTemplateConfig {

	/**
	 * 通过自动配置的RestTemplateBuilder创建自己需要的RestTemplate实例。自动配置的RestTemplateBuilder会确保应用到RestTemplate实例的HttpMessageConverters是合适的。
	 * RestTemplateBuilder包含很多有用的方法，可以用于快速配置一个RestTemplate, 默认使用的是SimpleClientHttpRequestFactory(jdk自带的HttpURLConnection) 例如，你可以使用builder.basicAuthorization("user",
	 * "password").build()添加基本的认证支持（BASIC auth）
	 * 
	 * @return
	 */
	@Bean
	public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
		return restTemplateBuilder.setReadTimeout(5000) // ms
				.setConnectTimeout(15000) // ms
				.build();
	}

}